package HttpRequest;

import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;

import java.io.IOException;
@WebServlet("/s04")
public class HttpRequest extends HttpServlet {
    @Override
    protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        //常见方法
        //获取请求时的完整路径（从http开始 到“？”前面结束）

        request.setCharacterEncoding("utf-8");//设置请求的编码格式  ，但是只针对POST请求

        String url  =request.getRequestURL()+ "" ;
        System.out.println("获取请求时的完整路径"+ url);
        //获取请求时的部分路径(从项目站点名开始 到“？”前面结束)
        String uri = request.getRequestURI();
        System.out.println("获取请求时的部分路径"+ uri);
        //获取请求时的参数字符串（从"?"后面开始，到最后的字符串）
        String querString = request.getQueryString();
        System.out.println("获取请求时的参数字符串"+ querString);
        //获取请求方式(GET 和POST)
        String method = request.getMethod();
        System.out.println("获取请求方式"+method);
        //获取协议版本（Http）
        String pro = request.getProtocol();
        System.out.println("获取协议版本"+ pro);
        //获取项目的站点名(项目对外访问路径)
        String web =request.getContextPath();  //上下文
        System.out.println("获取项目的站点名"+ web);

         //获取请求参数
        //获取指定名称的参数  返回的是字符串(重点)
        String name = request.getParameter("name");
        String password = request.getParameter("password");
        System.out.println("name:"+name + " "+"password:"+password);
        //获取指定名称的所以参数(复选框) 返回的是数组
        String[] hobyes = request.getParameterValues("hobyes");
        if (hobyes != null && hobyes.length > 0) {
            for (int i = 0; i < hobyes.length; i++) {
                System.out.println(hobyes[i]);
            }
        }
    }
}
